Recommendation systems have recently become important components of numerous computer applications, e.g., in the e-commerce space. In particular, such systems enable a receipt of feedback from company's customers. Based on their customer's feedback, the companies can better serve their customers by providing recommendations and suggestion thereto. Because the customers generally appreciate receiving informative and pertinent recommendations and suggestions from the companies that they deal with, such interaction between the customers and companies allow these companies which utilize the recommendation systems to establish and further develop long-lasting personalized relationships with their customers.
Research and development of systems and processes which provide recommendations and suggestions to users on a personal basis (e.g., via e-mail, the Web and mobile communication devices) has been significant in the past. Primarily, however, large portion of such research and development has concentrated on simple recommendations of items to the users or vice versa. For example, a conventional recommendation system and process may provide a particular recommendation of a certain brand of a plasma television to a user based on the user's previous transactions and/or entries of preferences. Also, the users who have previously shown interest in the plasma televisions can be forwarded to a particular brand of the plasma television based on the characteristics of such television. Other exemplary applications of the conventional systems and processes provide, e.g., movies to site visitors (and vise versa), book customers to books (or vice versa), etc. These conventional recommendation systems and processes are usually based on known two-dimensional collaborative filtering techniques, content based filtering techniques or a combination of both.
Exemplary collaborative filtering techniques are described in J. S. Breese et al., “Empherical Analysis of Predictive Algorithms for Collaborative Filtering,” Technical Report MSR-TR-98-12, Microsoft Research, May 1998; W. Hill et al., “Recommending and Evaluating Choices in a Virtual Community of Use,” Proceedings of CHI-95 Conference, Denver, Colo., 1995, pp. 194-201, and U. Shardanand et al., “Social Information Filtering: Algorithms for Automating ‘Word of Mouth’,” Proceedings of the Conference on Human Factors in Computing Systems (CHI'95), ACM Press, 1995, pp. 210-217. Content-based filtering techniques are described in the Breese publication, F. R. J. Mooney et al, “Book Recommending using Text Categorization with Extracted Information,” Recommender Systems, Papers from 1998 Workshop, Tech. Report WS-98-08, AAAI Press, 1998, and M. Pazzani et al., “Syskill & Webert: Identifying Interesting Web Sites,” Proceedings of the National Conference on Artificial Intelligence, 1996. Techniques that combine the corraborative filtering and content-based techniques are described in A. Ansari et al., “Internet Recommendations Systems,” Journal of Marketing Research, August 2000, pp. 363-375, M. Balabanovic et al., “Fab: Content-based, Collaborative Recommendation,” Communications of the ACM, 40(3):66-72, 1997, and M. Pazzani et al., “A Framework for Collaborative, Content-based and Demographic Filtering,” Artificial Intelligence Review, December 1999, pp. 393-408. However, in numerous applications, e.g., recommending vacation packages, restaurants or Web content to customers, it may not be sufficient to recommend particular items to certain users or to suggest the users to the particular items.
For example, certain customer's preferences for vacation packages may be dependent on the current time of the year or the time of the year that the vacation package is being offered. This is because such customer may prefer to vacation in the Caribbean in the winter, but not in the summer, or that the Caribbean vacation is only being offered at a low rate in the summer. In addition, for certain applications and situations, it may not be beneficial or appropriate to recommend individual items to individual users, but instead provide certain categories of items to particular types of users. One example of such recommendation facilitation may be providing movies which fit into a category of action movies to college students. Moreover, while some of the existing recommendation systems support limited profiles of the users and items, it is preferable to utilize more extensive profiling capabilities such as the ones described in G. Adomavicius et al., “Expert-driven Validation of Rule-based User Models in Personalization Applications,” Data Mining and Knowledge Discovery, 5(½):33-58, 2001.
The traditional two-dimensional recommendation systems and processes also provide the recommendations of at most two types by e.g., providing top N items to the user or top M users to the item. Further, these types of recommendations are typically pre-fixed into the recommendation software system by a company providing the software system, without being able to dynamically change the predefined recommendation types. However, in many multi-dimensional applications, it is exactly what would be necessary to be able to provide more extensive and flexible types of recommendations to be requested by the user. For example, it may be preferable to recommend top three action movies that are not longer than 2 hours to individual users, and to limit providing such movie recommendations to only those users whose favorite movie type list includes action movies.